Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

пересилання N послідовних байтів з однієї області пам'яті в іншу

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2011
Тип роботи:
Задача
Предмет:
Цифрова техніка і мікропроцесори

Частина тексту файла

1) пересилання N послідовних байтів з однієї області пам'яті в іншу, ORG 100H SADR EQU 1000H ;Початкова адреса 1-ї області пам’яті DADR EQU 2000H ;Початкова адреса 2-ї області пам’яті N EQU 10 ;Кількість байтів, що потрібно передати LXI h,SADR ;Завантажуємо адресу 1-ї області пам’яті LXI d,DADR ;Завантажуємо адресу 2-ї області пам’яті MVI b,N ;Завантажуємо в регістр В кількість елементів, ; ;щопотрібно передати ;Вхiднi данi передаємочерез регiстри call peres ;Виклик підпрограми пересилання N ;послідовних байтів з однієї області пам'яті в ;іншу HLT l1: MOV a,m ;Перенесення числа з 1-ї області пам’яті в 2-у STAX d ;Запис вмісту акумулятора в 1-у область пам’яті INX h ;Інкрементування регістру H INX d ; Інкрементування регістру D DCR b ;Зменшуємо число елементів, що потрібно перенести JNZ l1 ;Якщо число елементів нерінре “0” топереходимо на мітку ;L!, інакше — вихід з підпрограми ret 2) пересилання послідовності байтів (до заданого) з однієї області в іншу, ORG 100H SADR EQU 1000H ;Початкова адреса 1-ї області пам’яті DADR EQU 2000H ;Початкова адреса 1-ї області пам’яті N EQU 10 ;Кількість байтів, що потрібно передати LXI H, SADR ;Завантажуємо адресу 1-ї області пам’яті LXI D, DADR ;Завантажуємо адресу 2-ї області пам’яті MVI B, N ;Завантажуємо в регістр В кількість елементів, ;Вхiднi данi передаємочерез регiстри CALL PERED ;Виклик підпрограми пересилання послідовності ;байтів (до заданого) з однієї області пам'яті в іншу HLT ;підпрограма пересилання послідовності байтів (до заданого) з однієї області пам'яті в іншу PERED MOV A, M ;Перенесення числа з 1-ї області пам’яті в 2-у CMPI 07H : до числа 7H STAX D ;Запис вмісту акумулятора в 1-у область пам’яті INX h ;Інкрементування регістру H INX d ; Інкрементування регістру D JNZ PERED ;Якщо число елементів нерінре “0” топереходимо на ;мітку PERED, інакше — вихід з підпрограми RET 3) обчислення суми однобайтових елементів масиву, ORG 100H SADR EQU 1000H :Початкова адреса масиву N EQU 10 :Кількість елементів масиву lxi h, SADR ;Завантажуємо адресу масиву mvi b, N ;Завантажуємо кількість елементів масиву ;Вхiднi данi передаємо через регiстри call SUMM ;Виклик підпрограми обчислення суми одиобайтових ;елементів масиву hlt ; підпрограма обчислення суми одиобайтових елементів масиву SUMM: mvi a, 0 ;заносимо в аккумулятор “0” l1: mov C, M ;Занесення в регістр C елемент масиву add C ;Сумуємо його з акумулятором inx h ;Інкрементування регістру H dcr b ;Зменшуємо число елементів jnz l1 ;Якщо число елементів не рівне “0” топереходимо на мітку ;L!, інакше — вихід з підпрограми RET 4) Обчислення контрольної суми області пам'яті шляхом додавання за модулем 2 старших і молодших тетрад кожного байту окремо; результат роботи програми — два байти; ORG 100H ADR EQU 1000H N EQU 10 lxi h, ADR mvi e, N mvi b, 0fh mvi c, 0fh ;Вхiднi данi передаємо через регiстри CALL SUMM HLT SUMM: NOP l2: mov a, m mov b, a xri 0fh xra c mov c, a mov a, b xri 0f0h mov d, 4 l1: rrc dcr d jnz l1 xra b mov b,a inx h dcr e jnz l2 RET 5) додавання двох багатобайтовнх чисел; ORG 100H ADR1 EQU 1000H ADR2 EQU 2000H N EQU 10 lxi H, ADR1 lxi D, ADR2 mvi B, N ;Вхiднi данi передаємочерез регiстри CALL DODAV HLT DODAV: STC CMC PUSH PSW L1: POP PSW LDAX D ADC M PUSH PSW STAX D INX H INX D DCR B JNZ L1 RET 6) обчислення суми N двобайтових елементів масиву, ORG 100H ADR1 EQU 1000H ADR2 EQU 2000H N EQU 10 lxi H, ADR1 lxi D, ADR2 mvi B, N ;Вхiднi данi передаємочерез регiстри CALL SUM hlt SUM: NOP L1: LDAX D ADD M STAX D PUSH PSW INX H INX D POP PSW LDAX D ADC M STAX D PUSH PSW INX D POP PSW LDAX D ADCI 0 STAX D DCX D DCX D INX H DCR B JNZ L1 RET 7) порівняння двох чисел і запису в задану комірку пам'яті більшого; ORG 100H ADR1 EQU 1000H N1 EQU 100 N2 EQU 200 MVI A...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини